078262935e4454eef6eee60cf1cf63680b0273e5,api-gateway/src/main/java/com/redhat/coolstore/api_gateway/ApiGatewayRoute.java,ApiGatewayRoute,configure,#,41
Before Change
.options("/checkout/{cartId}")
.route().id("checkoutCartOptionsRoute").end().endRest()
.options("/{cartId}/{itemId}/{quantity}")
.route().id("cartAddDeleteOptionsRoute").end().endRest()
.post("/checkout/{cartId}").description("Finalize shopping cart and process payment")
.param().name("cartId").type(RestParamType.path).description("The ID of the cart to process").dataType("string").endParam()
.outType(ShoppingCart.class)
After Change
.options("/checkout/{cartId}")
.route().id("checkoutCartOptionsRoute").end().endRest()
.options("/{cartId}/{tmpId}")
.route().id("cartSetOptionsRoute").end().endRest()
.options("/{cartId}/{itemId}/{quantity}")
.route().id("cartAddDeleteOptionsRoute").end().endRest()
.post("/checkout/{cartId}").description("Finalize shopping cart and process payment")
.param().name("cartId").type(RestParamType.path).description("The ID of the cart to process").dataType("string").endParam()
.outType(ShoppingCart.class)
.route().id("checkoutRoute")
.hystrix().id("Cart Service (Checkout Cart)")
.removeHeaders("CamelHttp*")
.setBody(simple("null"))
.setHeader(Exchange.HTTP_METHOD, HttpMethods.POST)
.setHeader(Exchange.HTTP_URI, simple("http://cart-service:8080/api/cart/checkout/${header.cartId}"))
.to("http4://DUMMY")
.onFallback()
// TODO: improve fallback
.transform().constant(null)
.end()
.setHeader("CamelJacksonUnmarshalType", simple(ShoppingCart.class.getName()))
.unmarshal().json(JsonLibrary.Jackson, ShoppingCart.class)
.endRest()
.get("/{cartId}").description("Get the current user's shopping cart content")
.param().name("cartId").type(RestParamType.path).description("The ID of the cart to process").dataType("string").endParam()
.outType(ShoppingCart.class)
.route().id("getCartRoute")
.hystrix().id("Cart Service (Get Cart)")
.removeHeaders("CamelHttp*")
.setBody(simple("null"))
.setHeader(Exchange.HTTP_METHOD, HttpMethods.GET)
.setHeader(Exchange.HTTP_URI, simple("http://cart-service:8080/api/cart/${header.cartId}"))
.to("http4://DUMMY")
.onFallback()
// TODO: improve fallback
.transform().constant(null)
.end()
.setHeader("CamelJacksonUnmarshalType", simple(ShoppingCart.class.getName()))
.unmarshal().json(JsonLibrary.Jackson, ShoppingCart.class)
.endRest()
.delete("/{cartId}/{itemId}/{quantity}").description("Delete items from current user's shopping cart")
.param().name("cartId").type(RestParamType.path).description("The ID of the cart to process").dataType("string").endParam()
.param().name("itemId").type(RestParamType.path).description("The ID of the item to delete").dataType("string").endParam()
.param().name("quantity").type(RestParamType.path).description("The number of items to delete").dataType("integer").endParam()
.outType(ShoppingCart.class)
.route().id("deleteFromCartRoute")
.hystrix().id("Cart Service (Delete Cart)")
.removeHeaders("CamelHttp*")
.setBody(simple("null"))
.setHeader(Exchange.HTTP_METHOD, HttpMethods.DELETE)
.setHeader(Exchange.HTTP_URI, simple("http://cart-service:8080/api/cart/${header.cartId}/${header.itemId}/${header.quantity}"))
.to("http4://DUMMY")
.onFallback()
// TODO: improve fallback
.transform().constant(null)
.end()
.setHeader("CamelJacksonUnmarshalType", simple(ShoppingCart.class.getName()))
.unmarshal().json(JsonLibrary.Jackson, ShoppingCart.class)
.endRest()
.post("/{cartId}/{itemId}/{quantity}").description("Add items from current user's shopping cart")
.param().name("cartId").type(RestParamType.path).description("The ID of the cart to process").dataType("string").endParam()
.param().name("itemId").type(RestParamType.path).description("The ID of the item to add").dataType("string").endParam()
.param().name("quantity").type(RestParamType.path).description("The number of items to add").dataType("integer").endParam()
.outType(ShoppingCart.class)
.route().id("addToCartRoute")
.hystrix().id("Cart Service (Add To Cart)")
.removeHeaders("CamelHttp*")
.setBody(simple("null"))
.setHeader(Exchange.HTTP_METHOD, HttpMethods.POST)
.setHeader(Exchange.HTTP_URI, simple("http://cart-service:8080/api/cart/${header.cartId}/${header.itemId}/${header.quantity}"))
.to("http4://DUMMY")
.onFallback()
// TODO: improve fallback
.transform().constant(null)
.end()
.setHeader("CamelJacksonUnmarshalType", simple(ShoppingCart.class.getName()))
.unmarshal().json(JsonLibrary.Jackson, ShoppingCart.class)
.endRest()
.post("/{cartId}/{tmpId}").description("Transfer temp shopping items to user's cart")
.param().name("cartId").type(RestParamType.path).description("The ID of the cart to process").dataType("string").endParam()
.param().name("tmpId").type(RestParamType.path).description("The ID of the temp cart to transfer").dataType("string").endParam()
.outType(ShoppingCart.class)
.route().id("setCartRoute")
.hystrix().id("Cart Service (Set Cart)")
.removeHeaders("CamelHttp*")
.setBody(simple("null"))
.setHeader(Exchange.HTTP_METHOD, HttpMethods.POST)
.setHeader(Exchange.HTTP_URI, simple("http://cart-service:8080/api/cart/${header.cartId}/${header.tmpId}"))
.to("http4://DUMMY")
.onFallback()
// TODO: improve fallback